/*=============================================================================

  SYSTEM MANAGER SUB-MANAGER MODULE

  FILE: SYSmgr_MGR.cpp
  
  DESCRIPTION

    Sub-Manager Interface Definition

  EXTERNALIZED FUNCTIONS

    
  Copyright (c) DaeSung Engineering Inc. All rights reserved.

=============================================================================*/
/*=============================================================================

                             EDIT HISTORY

  ---------  -------  -------------------------------------------------------
    when       who     what, where, why
  ---------  -------  -------------------------------------------------------
   06/28/03   nso4th   Version 0.1

=============================================================================*/

/*=============================================================================
  HEADER INCLUSION
=============================================================================*/
#include "SYSmgr.h"

/*=============================================================================
  LOCALIZED VARIABLE DEFINITION
=============================================================================*/

/*=============================================================================
  EXTERNALIZED FUNCTION DEFINITION
=============================================================================*/
/*---------------------------------------------------------
   ALLOCATION & RELEASE
---------------------------------------------------------*/
void SYSmgr::MGR_Alloc(void)
{
	m_bkMgr = new BKmgr;
	m_ioMgr = new IOmgr;
}

void SYSmgr::MGR_Free(void)
{
	if(m_bkMgr)
	{
		delete m_bkMgr;
		m_bkMgr = NULL;
	}
	if(m_ioMgr)
	{
		delete m_ioMgr;
		m_ioMgr = NULL;
	}
}

/*---------------------------------------------------------
   SUB-MGR OPERATION
---------------------------------------------------------*/
boolean SYSmgr::MGR_Init(void)
{
	m_bkMgr->Init();
	m_ioMgr->Init();
	
	return	TRUE;
}

boolean SYSmgr::MGR_Close(void)
{
	MGR_Lock(TRUE);

	// BK manager
	if(m_bkMgr)
	{
		m_bkMgr->Close();
		delete m_bkMgr;
		m_bkMgr = NULL;
	}
	// IO manager
	if(m_ioMgr)
	{
		m_ioMgr->Close();
		delete m_ioMgr;
		m_ioMgr = NULL;
	}

	return	TRUE;
}

boolean SYSmgr::MGR_Lock(boolean lock)
{
	//m_bkMgr->MON_LOCK(lock);
	m_ioMgr->MON_LOCK(lock);
	
	return	TRUE;
}

/*--- END OF SYSmgr_MGR.CPP ---*/
